package ik.xcj.hostpital.manage.service;

import com.github.pagehelper.PageInfo;
import ik.xcj.hostpital.manage.pojo.dto.RefundInfoAddNewDTO;
import ik.xcj.hostpital.manage.pojo.vo.RefundInfoListItemVO;
import ik.xcj.hostpital.manage.pojo.vo.RefundInfoStandardVO;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;


@Transactional
public interface IRefundInfoService {

    /**
     * 插入退款信息数据
     *
     * @param refundInfoAddNewDTO 退款信息数据
     * @return 受影响行数
     */
    void addNew(RefundInfoAddNewDTO refundInfoAddNewDTO);


    /**
     * 根据id删除退款信息数据
     *
     * @param id 退款信息id
     * @return 受影响的行数
     */
    void deleteById(Long id);

    /**
     * 修改退款信息数据
     *
     * @param refundInfoAddNewDTO 封装了被修改退款信息的id
     * @return 受影响的行数
     */
   void update(RefundInfoAddNewDTO refundInfoAddNewDTO);

    /**
     * 根据退款信息id查询退款信息详情
     *
     * @param id 退款信息id
     * @return 匹配的退款信息详情，如果没有匹配的数据，则返回null
     */
    RefundInfoStandardVO getStandardById(Long id);

    /**
     * 分页查询退款信息列表
     * @return 退款信息列表
     */
    PageInfo<RefundInfoListItemVO> list(Integer page, Integer pageSize);
}
